﻿using System;

namespace 关键字
{
    class Program
    {
        static void Main(string[] args)
        {
            //Random a = new Random();
            //a.Next(1, 100);
            //Console.WriteLine(a.Next(1,100));
            /*
               整数类型：short， int， long，
               小数类型：float, double, decimal 
               布尔类型: false, true,
               非数值类型：bool，char，string，
               判断语句：if else， if else if ， switch
               switch中的关键字
               case ：情况, 我们常说的分情况讨论的这个 “情况” , "如果是"
               break : 打断，打断当前逻辑
               default: 默认值 ，默认情况下，当前逻辑中，name 的值找不到匹配的情况
               代码容易出现错误：try{容易出现错误的代码} catch{出现错误后执行的代码}
               循环语句：for， foreach， while， do while
               声明常量：const，产生随机数：Random a=new Random（）；ConSole.WriteLine(a.Next(1,100))
               声明枚举：enum，声明结构：struct
               string转enum类型用：Enum.Parse()   枚举类型 p2 = (枚举类型)Enum.Parse(typeof(枚举类型), "Man");
               判定 int 是否在 枚举里面有定义：Enum.IsDefined()  bool exist = Enum.IsDefined(typeof(枚举类型), 8);
               高级参数：out，ref， 
               ref参数能够将一个变量带入一个方法进行改变，改变完成后，再将改变后的值带出方法。
               ref参数要求在方法外必须为其赋值，而方法内可以不赋值。
               out参数要求在方法内部必须为其赋值
               属性的关键字：
               get ： 获得
               set : 设置
               return : 返回
               value : 值
               调用父类的成员关键字：base.
               返回：return，new关键字，this关键字，
               计算值中的数量：Count
               计算多维数组的长度：GetLength(维度)  var arrLenght = 数组名.GetLength(0);
               虚方法关键字：virtual 重写关键字：override
               事件关键字：event public event Action<A> 事件名   Invoke :执行 ?.  为空判定
               抽象类关键字：abstract
               密封类关键字：sealed
               密封类关键字：pertial
               接口关键字：interface
               约束泛型的关键字：where
               委托关键字：delegate
               声明没有返回值的委托关键字：Action Action<类型> a=new Action<类型>();关键字Action 用来声明没有返回值但是可以有多个参数的委托。
               声明有返回值的委托关键字：Func Func<类型> f = new Func<类型>();关键字Func 用来声明有返回值有多个参数的委托， 里面最后一个参数是返回值类型。
               声明时间的关键字：DateTime
               获取电脑当前时间: DateTime.Now;
               获取世界标准时间：DateTime.UtcNow;
               访问修饰符：
               public:公开的，公共的，可以跨程序集
               private:私有的，只能在当前类中访问
               internal:只能在当前程序集中访问。
               protected:在当前类中访问，在继承的子类中访问
               protected internal:只能在当前程序集中访问。和internal的访问权限一致

             */
        }
    }
}
